package com.hyt.it.ogt.ykcj.mapper.exam;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hyt.it.ogt.ykcj.domain.exam.ExamPostScoreLineSettingSub;
import com.hyt.it.ogt.ykcj.domain.vo.ExamScoreLineReq;
import com.hyt.it.ogt.ykcj.domain.vo.PostScoreInfoVo;

/**
 * 招考职位分数线设置科目分数Mapper接口
 * 
 * @author admin
 * @date 2021-09-09
 */
public interface ExamPostScoreLineSettingSubMapper extends BaseMapper<ExamPostScoreLineSettingSub> {
    /**
     * 查询招考职位分数线设置科目分数
     * 
     * @param id 招考职位分数线设置科目分数ID
     * @return 招考职位分数线设置科目分数
     */
    public ExamPostScoreLineSettingSub selectExamPostScoreLineSettingSubById(String id);

    /**
     * 查询招考职位分数线设置科目分数列表
     * 
     * @param examPostScoreLineSettingSub 招考职位分数线设置科目分数
     * @return 招考职位分数线设置科目分数集合
     */
    public List<ExamPostScoreLineSettingSub> selectExamPostScoreLineSettingSubList(ExamPostScoreLineSettingSub examPostScoreLineSettingSub);

    /**
     * 新增招考职位分数线设置科目分数
     * 
     * @param examPostScoreLineSettingSub 招考职位分数线设置科目分数
     * @return 结果
     */
    public int insertExamPostScoreLineSettingSub(ExamPostScoreLineSettingSub examPostScoreLineSettingSub);

    /**
     * 修改招考职位分数线设置科目分数
     * 
     * @param examPostScoreLineSettingSub 招考职位分数线设置科目分数
     * @return 结果
     */
    public int updateExamPostScoreLineSettingSub(ExamPostScoreLineSettingSub examPostScoreLineSettingSub);

    /**
     * 删除招考职位分数线设置科目分数
     * 
     * @param id 招考职位分数线设置科目分数ID
     * @return 结果
     */
    public int deleteExamPostScoreLineSettingSubById(String id);

    /**
     * 批量删除招考职位分数线设置科目分数
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteExamPostScoreLineSettingSubByIds(String[] ids);

    /**
     * 新增批量招考职位分数线设置科目分数
     * @param list 招考职位分数线设置科目分数
     * @return 结果
     */
    Integer insertBatchExamPostScoreLineSettingSub(List<ExamPostScoreLineSettingSub> list);

    /**
     * 更新批量招考职位分数线设置科目分数
     * @param list 招考职位分数线设置科目分数
     * @return 结果
     */
    Integer updateBatchExamPostScoreLineSettingSub(List<ExamPostScoreLineSettingSub> list);

    /**
     * 统计复合分数和
     * @param examScoreLineReq
     * @return
     */
    String countTotalScore(ExamScoreLineReq examScoreLineReq);

    /**
     * 查找复合分数线最低分数
     * @param examScoreLineReq
     * @return
     */
    String selectMinSettingScore(ExamScoreLineReq examScoreLineReq);

    /**
     * 获取平均分数线、最低分数线
     * @param examScoreLineReq
     * @return
     */
    PostScoreInfoVo getAvgAndMinScoreLine(ExamScoreLineReq examScoreLineReq);

    /**
     * 查找考试id
     */
    String getExamIdById(String id);
}
